// 7-2 找出总分最高的学生 (15分)
// 给定N个学生的基本信息，包括学号（由5个数字组成的字符串）、姓名（长度小于10的不包含空白字符的非空字符串）和3门课程的成绩（[0,100]区间内的整数），要求输出总分最高学生的姓名、学号和总分。

// 输入格式：
// 输入在一行中给出正整数N（≤10）。随后N行，每行给出一位学生的信息，
// 格式为“学号 姓名 成绩1 成绩2 成绩3”，中间以空格分隔。

// 输出格式：
// 在一行中输出总分最高学生的姓名、学号和总分，间隔一个空格。题目保证这样的学生是唯一的。
#include <stdio.h>
#define NAMELENGTH 10
#define MAXINFONUM 10
#define IDLENGTH 6
struct StuInfo
{
    char id[IDLENGTH];  // 学号必须用字符串,因为数字输出没有前导的零
    char name[NAMELENGTH];
    int total_score;
};

int main()
{
    int n, MaxIdx = 0, s1, s2, s3;
    scanf("%d", &n);
    struct StuInfo StuInfos[MAXINFONUM];
    for (int i = 0; i < n; i++)
    {
        scanf("%5s %9s %d %d %d", StuInfos[i].id, StuInfos[i].name, &s1, &s2, &s3);
        StuInfos[i].total_score = s1 + s2 + s3;
    }
    for (int i = 0; i < n; i++)
    {
        if (StuInfos[i].total_score > StuInfos[MaxIdx].total_score)
        {
            MaxIdx = i;
        }
    }
    printf("%s %s %d", StuInfos[MaxIdx].name, StuInfos[MaxIdx].id, StuInfos[MaxIdx].total_score);

    return 0;
}

// 输入样例：
// 5
// 00001 huanglan 78 83 75
// 00002 wanghai 76 80 77
// 00003 shenqiang 87 83 76
// 10001 zhangfeng 92 88 78
// 21987 zhangmeng 80 82 75

// 输出样例：
// zhangfeng 10001 258